-- In your plugin files, you can:
-- * add extra plugins
-- * disable/enabled LazyVim plugins
-- * override the configuration of LazyVim plugins
return {
  -- { import = "lazyvim.plugins.extras.editor.mini-move" },
  { import = "lazyvim.plugins.extras.editor.inc-rename" },
  -- { import = "lazyvim.plugins.extras.editor.navic" },
  -- { import = "lazyvim.plugins.extras.util.mini-hipatterns" },
  { import = "lazyvim.plugins.extras.util.dot" },
  -- { import = "lazyvim.plugins.extras.coding.mini-comment" },
  { import = "lazyvim.plugins.extras.coding.yanky" },
  -- { import = "lazyvim.plugins.extras.editor.mini-diff" },
  -- { import = "lazyvim.plugins.extras.editor.mini-move" },
  -- { import = "lazyvim.plugins.extras.util.project" },
  { import = "lazyvim.plugins.extras.util.mini-hipatterns" },

  -- {
  --   "m4xshen/hardtime.nvim",
  --   enabled = false,
  --   lazy = false,
  --   dependencies = { "MunifTanjim/nui.nvim" },
  --   opts = {
  --     disabled_keys = {
  --       ["Left"] = false,
  --       ["Right"] = false,
  --       ["Up"] = false,
  --       ["Down"] = false,
  --       ["h"] = false,
  --       ["j"] = false,
  --       ["k"] = false,
  --       ["l"] = false,
  --     },
  --   },
  -- },

  -- "pteroctopus/faster.nvim",
  { "RRethy/nvim-base16", event = "VeryLazy" },
  {
    "folke/tokyonight.nvim",
    enabled = false,
  },
  {
    "catppuccin/nvim",
    enabled = false,
  },
  -- {
  --   "craftzdog/solarized-osaka.nvim",
  --   lazy = true,
  --   priority = 1000,
  --   opts = {
  --     transparent = true,
  --   },
  -- },

  -- "Mofiqul/vscode.nvim",
  -- {
  --   "maxmx03/fluoromachine.nvim",
  --   lazy = false,
  --   priority = 1000,
  --   config = function()
  --     local fm = require("fluoromachine")
  --
  --     fm.setup({
  --       glow = true,
  --       theme = "retrowave",
  --       transparent = true,
  --     })
  --   end,
  -- },
  {
    "LazyVim/LazyVim",
    opts = {
      colorscheme = "base16-ayu-dark",
    },
  },

  {
    "nvim-neo-tree/neo-tree.nvim",
    cmd = "Neotree",
    opts = {
      source_selector = {
        winbar = true,
        sources = {
          { source = "filesystem", display_name = "  Files " },
          { source = "buffers", display_name = "  Bufs " },
          { source = "git_status", display_name = "  Git " },
        },
      },
    },
  },

  {
    "vuki656/package-info.nvim",
    event = "BufRead package.json",
    config = function()
      require("package-info").setup({ package_manager = "bun" })
    end,
    -- keys = {
    --   {
    --     "<leader>ns",
    --     "<cmd>lua require('package-info').show()<CR>",
    --     desc = "package-info show",
    --   },
    --   {
    --     "<leader>np",
    --     "<cmd>lua require('package-info').change_version()<CR>",
    --     desc = "package-info change version",
    --   },
    --   {
    --     "<leader>ni",
    --     "<cmd>lua require('package-info').install()<CR>",
    --     desc = "package-info install",
    --   },
    -- },
  },
  -- { "lervag/vimtex",          ft = "tex" },
  {
    "mistweaverco/kulala.nvim",
    enabled = false,
    ft = "http",
    opts = {},
  },

  { "akinsho/toggleterm.nvim", version = "*", config = true, event = "VeryLazy" },

  {
    "max397574/better-escape.nvim",
    event = "VeryLazy",
    opts = {
      default_mappings = false,
      mappings = {
        i = {
          j = {
            k = "<Esc>",
            j = "<Esc>",
          },
        },
        c = {
          j = {
            k = "<Esc>",
            j = "<Esc>",
          },
        },
        t = {
          j = {
            k = "<C-\\><C-n>",
          },
        },
        s = {
          j = {
            k = "<Esc>",
          },
        },
      },
    },
  },

  { "mg979/vim-visual-multi", event = "VeryLazy" },
  { "terryma/vim-expand-region", event = "VeryLazy", vscode = true },

  -- {
  --   "nvim-treesitter/nvim-treesitter",
  --   opts = function(_, opts)
  --     -- add tsx and treesitter
  --     vim.list_extend(opts.ensure_installed, {
  --       "javascript",
  --       "typescript",
  --       "tsx",
  --       "json",
  --       "yaml",
  --       "lua",
  --       "regex",
  --       "bash",
  --       "html",
  --       "markdown",
  --       "markdown_inline",
  --       "python",
  --       "query",
  --       "vim",
  --     })
  --   end,
  -- },
  { "machakann/vim-sandwich", event = "VeryLazy", vscode = true },

  {
    "chentoast/marks.nvim",
    event = "VeryLazy",
    -- dependencies = {
    --   {
    --     "toppair/reach.nvim",
    --     config = function()
    --       require("reach").setup({ notifications = true })
    --     end,
    --   },
    -- },
    opts = {
      default_mappings = true,
      builtin_marks = { ".", "<", ">", "^" },
      cyclic = true,
      force_write_shada = false,
      refresh_interval = 250,
      sign_priority = { lower = 10, upper = 15, builtin = 8, bookmark = 20 },
      excluded_filetypes = {},
      bookmark_0 = {
        sign = "⚑",
        virt_text = "sterne",
      },
      mappings = {},
    },
  },

  { "voldikss/vim-translator", cmd = { "Translate" } }, -- npm install fanyi -g 安装翻译
  {
    "barrett-ruth/import-cost.nvim",
    event = "VeryLazy",
    build = "sh install.sh pnpm",
    config = true,
  },
  { "ThePrimeagen/vim-be-good", cmd = "VimBeGood" },
  -- { "wakatime/vim-wakatime", event = "VeryLazy" },
  {
    "ckolkey/ts-node-action",
    cmd = { "NodeAction" },
    opts = {},
  }, -- 字符组合切换
  -- {
  --   "neo451/feed.nvim",
  --   enabled = false,
  --   dependencies = { "gregorias/coop.nvim" },
  --   cmd = "Feed",
  --   opts = {},
  -- },
  -- {
  --   "wsdjeg/record-screen.nvim",
  --   enabled = false,
  --   dependencies = { "wsdjeg/job.nvim", "wsdjeg/notify.nvim" },
  --   opts = {
  --     cmd = "ffmpeg",
  --     argvs = { "-f", "gdigrab", "-i", "desktop", "-f", "mp4" },
  --     target_dir = "~/videos",
  --   },
  --   keys = {
  --     {
  --       "<F8>",
  --       function()
  --         require("record-screen").start()
  --       end,
  --       desc = "Record screen start",
  --     },
  --     {
  --       "<F9>",
  --       function()
  --         require("record-screen").stop()
  --       end,
  --       desc = "Record screen stop",
  --     },
  --   },
  -- },
}
